正则表达式模块
正则表达式(Regular Expression)是非常强大的字符串匹配工具,每种编程语言都会用到,在 Python 中,模块名是 re。
正则表达式语法
常用函数主要有:
compile
compile(reg)
compile 方法,初始化正则表达式 reg。
例如,下述代码初始了一个寻找以 d 为结尾的单词的正则表达式。
python
import re
pattern = re.compile('\w*d')
split
split([pattern], words)
split 方法,以 pattern 正则表达式来切割 words,返回字符串列表。
例如,下述代码切割了以 d 为结尾的单词。
python
import re
pattern = re.compile('[a-z][^\\s]*d')
words = 'A friend in need is a friend indeed.'
result = pattern.split(words)
#result = re.split(pattern, words) #这样也可以
print(result)
findall
findall([pattern], words)
findall 方法,以 pattern 正则表达式来匹配 words,返回匹配的字符串列表。
例如,下述代码匹配了所有以 d 为结尾的单词。
python
import re
pattern = re.compile('[a-z][^\\s]*d')
words = 'A friend in need is a friend indeed.'
result = pattern.findall(words)
#result = re.findall(pattern, words) #这样也可以
print(result)
sub
sub([pattern], rep, words)
sub 方法,以 pattern 正则表达式来匹配 words,并将匹配的字符串替换为 rep,返回替换后的字符串列表。
例如,下述代码匹配了所有以 d 为结尾的单词,变成 replaced。
暂时在线运行不了
python
import re
pattern = re.compile('[a-z][^\\s]*d')
words = 'A friend in need is a friend indeed.'
result = pattern.sub('replaced', words)
#result = re.sub(pattern, 'replaced', words) #这样也可以
print(result)